package com.chixing.day03_oop;

public class word {
    //杨辉三角
    public static void main(String[] args) {
        int n = 8;
        int[][] arr = new int[n][];
        for (int i = 0; i < n; i++) {
            arr[i] = new int[i + 1];//给每一行数组开辟空间
            for (int j = 0; j <= i; j++) {
                if (j == 0 || j == arr[i].length - 1) {
                    arr[i][j] = 1;
                } else {
                    arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
                }
                System.out.print(arr[i][j] + " ");
            }
            System.out.println();
        }



        /*牛牛选择了一个正整数X,然后把它写在黑板上。然后每一天他会擦掉当前数字的最后一位,
        直到他擦掉所有数位。 在整个过程中,牛牛会把所有在黑板上出现过的数字记录下来,然后求出他们的总和sum.
        例如X = 509, 在黑板上出现过的数字依次是509, 50, 5, 他们的和就是564.
        牛牛现在给出一个sum,牛牛想让你求出一个正整数X经过上述过程的结果是sum.*/
        int sum = 1370;
        int rub = 10;
        for (int i = sum; i > 0; i--) {
            int temp = i;
            int tempSum = 0;
            while (temp > 0) {
                tempSum += temp;
                temp /= rub;
            }
            if (tempSum == sum)
                System.out.println(i);
        }





        /*把只包含质因子2、3和5的数称作丑数（Ugly Number）。
        例如6、8都是丑数，但14不是，因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。*/

        /*do {
            if (y==2|y==3|y==5) {
                x=i;
                count++;
                break;
            } else if(y%2==0){
                y /= 2;
            } else if(y%3==0){
                y /= 3;
            } else if(y%5==0){
                y /= 5;
            } else{
                isUgly = false;
                break;
            }
        }while(y>=2);*/



        int count = 1;
        int uglyIndex = 18; // 找出第10个丑数

        for (int i = 2; i <= 100; i++) { // i =  14
            boolean isUglyNumber = true;

            if (i % 2 == 0 || i % 3 == 0 || i % 5 == 0) {
                for (int j = i - 1; j > 5; j--) {
                    boolean result = isPrime(j);
                    if (result && i % j == 0) {
                        // System.out.println("当前数字：" + i + "，不是丑数");
                        isUglyNumber = false;
                        break;
                    }
                }
            } else {
                isUglyNumber = false;
            }
            if (isUglyNumber) {
                System.out.println("当前数字：" + i + "是丑数");
                count++;
                if (count == uglyIndex) {
                    System.out.println("第" + uglyIndex + "个丑数是：" + i);
                    break;
                }
            }
        }
    }
        // 判断是不是素数
        public static boolean isPrime(int num) {
            for (int i = 2; i <= num - 1; i++) {
                if (num % i == 0)
                    return false;
            }
            return true;
        }




}
